<?php
class Ext_Utils_Array 
{
    /**
     * Recibe un array, donde las keys, son palabras con el formato PALABRA_SEGUNDA_TERCERA,
     * y devuelve un array con identicos valores, pero las key con el formato de camelCase
     *
     * @param array $unformatArray
     * @return array $camelCaseArray
     */
    public static function keyArrayToCamelCase( $unformatArray )
    {
        if( !is_array( $unformatArray )){
            return array();    
        }
        $unformatArray = array_change_key_case( $unformatArray, CASE_LOWER );
        $camelCaseArray = array();
        foreach( $unformatArray as $originalKey => $value ) {
            $key = str_replace( ' ', '', ucwords( preg_replace('/[^A-Z^a-z^0-9]+/', ' ', $originalKey )));
            $key[0] = strtolower($key[0]);
            $camelCaseArray[ $key ] = $value;
        }
        return $camelCaseArray;
    }
    public static function camelArrayWithArray ( $arrays )
    {
        if( !is_array( $arrays )) {
            return array();
        }
        $i = 0;
        foreach( $arrays as $array ){
            $arrays[$i] = Ext_Utils_Array::keyArrayToCamelCase( $arrays[$i] );
            $i++;    
        }
        return $arrays;
    }
}
?>
